package world.xuewei.model.entity;

import java.util.Date;
import java.io.Serializable;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@JsonIgnoreProperties({"handler", "hibernateLazyInitializer", "fieldHandler"})
/**
 * 权限表(Permission)实体类
 *
 * @author makejava
 * @since 2024-11-15 19:27:50
 */
public class Permission implements Serializable {
    private static final long serialVersionUID = 179559073928800407L;

    private Long id;
    /**
     * 父权限ID
     */
    private Long parentId;
    /**
     * 权限名称
     */
    private String name;
    /**
     * 权限编码
     */
    private String code;
    /**
     * 类型：1-菜单 2-按钮 3-接口
     */
    private Integer type;
    /**
     * 访问地址
     */
    private String url;
    /**
     * 状态：0-禁用 1-启用
     */
    private Integer status;

    private Date createTime;

    private Date updateTime;

    private List<Permission> children;  // 子权限列表

}

